// axios使用
// 1.安装 npm i axios
// 2.导入 import axios from 'axios'
// 3.使用

import axios from 'axios'
import { getLocal } from '@/utils/local.js'
// import JSONbig from 'json-bigint'
// 可以使用自定义配置新建一个axios实例
const _fetch = axios.create({
  baseURL: process.env.VUE_APP_baseURL
  // transfromResponse: [
  //   function (data) {
  //     try {
  //       return JSONbig.parse(data)
  //     } catch (a) {
  //       return data
  //     }
  //   }
  // ]
  // headers: { 'Content-Type': 'application/json' }
})

// 拦截器
// 添加请求拦截器
_fetch.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    if (config.needToken) {
      config.headers.authorization = `Bearer ${getLocal('token')}`
    }
    return config
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error)
  }
)

// 添加响应拦截器
// axios.interceptors.response.use(
//   function (response) {
//     // 对响应数据做点什么
//     if (response.data.code === 200) {
//       return response
//     }
//   },
//   function (error) {
//     // 对响应错误做点什么
//     return Promise.reject(error)
//   }
// )

// 暴露出去
export default _fetch
